Trao đổi khóa Diffie–Hellman (
D-H)
[nb 1] là một phương pháp trao đổi
khóa được phát minh sớm nhất trong
mật mã học. Phương pháp trao đổi khóa Diffie–Hellman cho phép hai bên (người, thực thể giao tiếp) thiết lập một khóa
bí mật chung để mã hóa dữ liệu sử dụng trên
kênh truyền thông không an toàn mà không cần có sự thỏa thuận trước về khóa bí mật giữa hai bên. Khóa bí mật tạo ra sẽ được sử dụng để mã hóa dữ liệu với phương pháp mã hóa
khóa đối xứng.Giao thức này được công bố đầu tiên bởi
Whitfield Diffie và
Martin Hellman vào năm 1976, dù rằng trước đó vài năm nó đã được phát minh một cách độc lập trong
GCHQ, cơ quan tình báo Anh, bởi
James H. Ellis,
Clifford Cocks và
Malcolm J. Williamson nhưng được giữ bí mật. Năm 2002, Hellman đề xuất thuật toán nên được gọi là
trao đổi khóa Diffie–Hellman–Merkle để ghi nhận sự đóng góp của
Ralph Merkle trong phát minh lĩnh vực
mật mã hóa khóa công khai (Hellman, 2002).Mặc dù giao thức trao đổi khóa Diffie–Hellman bản thân nó là
giao thức trao đổi khóa ẩn danh (không xác thực), nó đã đưa ra một nền tảng cơ sở cho nhiều loại giao thức xác thực và được sử dụng để tạo nên
bí mật chuyển tiếp hoàn hảo trong chế độ ngắn hạn của giao thức
Transport Layer Security (EDH hoặc DHE tùy theo bộ mã hóa).Phương pháp này được áp dụng sau đó cho thuật toán
RSA (mã hóa)Năm 2002, Martin Hellman viết: Hệ thống này cho tới nay được biết đến với tên gọi Trao đổi khóa Diffie–Hellman. Khi hệ thống lần đầu tiên được mô tả trong bài báo của Diffie và tôi, đó là một hệ thống phân phối khóa công khai, một khái niệm nêu ra bởi Merkle, vì vậy nó nên được gọi là Trao đổi khóa 'Diffie–Hellman–Merkle' nếu chúng ta cần một cái tên cho nó. Tôi hy vọng rằng chút lời mọn của tôi ở đây sẽ giúp mọi người ghi nhận sự đóng góp tương xứng của Merkle trong phát minh lĩnh vực mật mã hóa khóa công khai.
Bằng sáng chế Hoa Kỳ số 4,200,770 mô tả thuật toán này từ năm 1977, tới nay đã hết hạn bản quyền, đã ghi nhận Hellman, Diffie, và Merkle là tác giả phát minh.